package models

import (
	"base_srv/basic/config"
	"time"
)

type BusinessLicenseInformation struct {
	Id                   uint32    `gorm:"column:id;type:int UNSIGNED;primaryKey;not null;" json:"id"`
	OrganizationName     string    `gorm:"column:organization_name;type:varchar(40);comment:服务机构名称;not null;" json:"organization_name"`           // 服务机构名称
	AdministrativeCode   string    `gorm:"column:administrative_code;type:varchar(30);comment:行政区划代码;not null;" json:"administrative_code"`       // 行政区划代码
	PermitCode           string    `gorm:"column:permit_code;type:varchar(30);comment:许可证号;not null;" json:"permit_code"`                         // 许可证号
	BusinessScope        string    `gorm:"column:business_scope;type:varchar(30);comment:经营范围;not null;" json:"business_scope"`                   // 经营范围
	SendOrganizationName string    `gorm:"column:send_organization_name;type:varchar(30);comment:发证机构名称;not null;" json:"send_organization_name"` // 发证机构名称
	LicenseStartDate     time.Time `gorm:"column:license_start_date;type:datetime(3);comment:证件起始日期;not null;" json:"license_start_date"`         // 证件起始日期
	LicenseEndDate       time.Time `gorm:"column:license_end_date;type:datetime(3);comment:证件截止日期;not null;" json:"license_end_date"`             // 证件截止日期
	IssuanceDate         time.Time `gorm:"column:issuance_date;type:datetime(3);comment:发证日期;not null;" json:"issuance_date"`                     // 发证日期
	Status               int8      `gorm:"column:status;type:tinyint(1);comment:状态 1-有效 2-无效;not null;default:1;" json:"status"`                  // 状态 1-有效 2-无效
	CreateTime           time.Time `gorm:"column:create_time;type:datetime;not null;default:CURRENT_TIMESTAMP;" json:"create_time"`
	UpdateTime           time.Time `gorm:"column:update_time;type:datetime;not null;default:CURRENT_TIMESTAMP;" json:"update_time"`
	DeleteTime           time.Time `gorm:"column:delete_time;type:datetime;default:NULL;" json:"delete_time"`
}

func (b *BusinessLicenseInformation) TableName() string {
	return "business_license_information"
}
func (b *BusinessLicenseInformation) Create() error {
	return config.DB.Create(&b).Error
}
func (b *BusinessLicenseInformation) Updates() error {
	return config.DB.Updates(&b).Error
}
